本文同步發表於: Sponge Records
本文會介紹在本次 api 中會用到的套件選擇與程式架構
在介紹 golang 時,在 [Day05] golang package & golang module的文章中,有介紹到 golang 的套件,今次我們將會使用以下套件來幫助我們構築 api
路由 - gorilla/mux
這是一個很輕巧且穩定的路由器套件,可以讓我們輕易地設計出心目中的路由
物件關聯對映 - jinzhu / gorm
所謂的物件關聯對映(Object Relational Mapping) 即 ORM,簡單來講就是實現透過程式語言來操作資料庫,ORM 擔當著橋梁的功能,而本次就是要用此套件來操作 postgresql
驗證 - dgrijalva / jwt-go
jwt(JSON Web Token),比起傳統的 TOKEN 來講,具有了一項特性,也就是 TOKEN 本身就含有資料,省去了需要去資料庫撈取這個 TOKEN 代表誰這動作,節省資料庫開銷,而本身透過簽名來加密,沒有對應的簽名是無法解開的,避免掉透過虛假的 TOKEN 來認證的問題,而此套件可以方便的產生 jwt 並且認證
讀取設定檔 - joho / godotenv
會透過 .env 將資料庫的連接設定寫入其中,透過此套件載入
下回將進入實作階段,實作 api 功能